package com.dianxin.smartpark.dao.dataobject.attendance;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SmartParkAttendanceRecordDetailExample {
    /**
     * smart_park_attendance_record_detail
     */
    protected String orderByClause;

    /**
     * smart_park_attendance_record_detail
     */
    protected boolean distinct;

    /**
     * smart_park_attendance_record_detail
     */
    protected List<Criteria> oredCriteria;

    public SmartParkAttendanceRecordDetailExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * smart_park_attendance_record_detail 2021-09-27
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNull() {
            addCriterion("dept_id is null");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNotNull() {
            addCriterion("dept_id is not null");
            return (Criteria) this;
        }

        public Criteria andDeptIdEqualTo(Long value) {
            addCriterion("dept_id =", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotEqualTo(Long value) {
            addCriterion("dept_id <>", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThan(Long value) {
            addCriterion("dept_id >", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dept_id >=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThan(Long value) {
            addCriterion("dept_id <", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThanOrEqualTo(Long value) {
            addCriterion("dept_id <=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdIn(List<Long> values) {
            addCriterion("dept_id in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotIn(List<Long> values) {
            addCriterion("dept_id not in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdBetween(Long value1, Long value2) {
            addCriterion("dept_id between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotBetween(Long value1, Long value2) {
            addCriterion("dept_id not between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNull() {
            addCriterion("dept_name is null");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNotNull() {
            addCriterion("dept_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeptNameEqualTo(String value) {
            addCriterion("dept_name =", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotEqualTo(String value) {
            addCriterion("dept_name <>", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThan(String value) {
            addCriterion("dept_name >", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThanOrEqualTo(String value) {
            addCriterion("dept_name >=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThan(String value) {
            addCriterion("dept_name <", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThanOrEqualTo(String value) {
            addCriterion("dept_name <=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLike(String value) {
            addCriterion("dept_name like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotLike(String value) {
            addCriterion("dept_name not like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameIn(List<String> values) {
            addCriterion("dept_name in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotIn(List<String> values) {
            addCriterion("dept_name not in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameBetween(String value1, String value2) {
            addCriterion("dept_name between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotBetween(String value1, String value2) {
            addCriterion("dept_name not between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeIsNull() {
            addCriterion("clock_in_type is null");
            return (Criteria) this;
        }

        public Criteria andClockInTypeIsNotNull() {
            addCriterion("clock_in_type is not null");
            return (Criteria) this;
        }

        public Criteria andClockInTypeEqualTo(Integer value) {
            addCriterion("clock_in_type =", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNotEqualTo(Integer value) {
            addCriterion("clock_in_type <>", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeGreaterThan(Integer value) {
            addCriterion("clock_in_type >", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("clock_in_type >=", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeLessThan(Integer value) {
            addCriterion("clock_in_type <", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeLessThanOrEqualTo(Integer value) {
            addCriterion("clock_in_type <=", value, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeIn(List<Integer> values) {
            addCriterion("clock_in_type in", values, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNotIn(List<Integer> values) {
            addCriterion("clock_in_type not in", values, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_type between", value1, value2, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_type not between", value1, value2, "clockInType");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameIsNull() {
            addCriterion("clock_in_type_name is null");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameIsNotNull() {
            addCriterion("clock_in_type_name is not null");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameEqualTo(String value) {
            addCriterion("clock_in_type_name =", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameNotEqualTo(String value) {
            addCriterion("clock_in_type_name <>", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameGreaterThan(String value) {
            addCriterion("clock_in_type_name >", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameGreaterThanOrEqualTo(String value) {
            addCriterion("clock_in_type_name >=", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameLessThan(String value) {
            addCriterion("clock_in_type_name <", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameLessThanOrEqualTo(String value) {
            addCriterion("clock_in_type_name <=", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameLike(String value) {
            addCriterion("clock_in_type_name like", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameNotLike(String value) {
            addCriterion("clock_in_type_name not like", value, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameIn(List<String> values) {
            addCriterion("clock_in_type_name in", values, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameNotIn(List<String> values) {
            addCriterion("clock_in_type_name not in", values, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameBetween(String value1, String value2) {
            addCriterion("clock_in_type_name between", value1, value2, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInTypeNameNotBetween(String value1, String value2) {
            addCriterion("clock_in_type_name not between", value1, value2, "clockInTypeName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusIsNull() {
            addCriterion("clock_in_status is null");
            return (Criteria) this;
        }

        public Criteria andClockInStatusIsNotNull() {
            addCriterion("clock_in_status is not null");
            return (Criteria) this;
        }

        public Criteria andClockInStatusEqualTo(Integer value) {
            addCriterion("clock_in_status =", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNotEqualTo(Integer value) {
            addCriterion("clock_in_status <>", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusGreaterThan(Integer value) {
            addCriterion("clock_in_status >", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("clock_in_status >=", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusLessThan(Integer value) {
            addCriterion("clock_in_status <", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusLessThanOrEqualTo(Integer value) {
            addCriterion("clock_in_status <=", value, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusIn(List<Integer> values) {
            addCriterion("clock_in_status in", values, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNotIn(List<Integer> values) {
            addCriterion("clock_in_status not in", values, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_status between", value1, value2, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_status not between", value1, value2, "clockInStatus");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameIsNull() {
            addCriterion("clock_in_status_name is null");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameIsNotNull() {
            addCriterion("clock_in_status_name is not null");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameEqualTo(String value) {
            addCriterion("clock_in_status_name =", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameNotEqualTo(String value) {
            addCriterion("clock_in_status_name <>", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameGreaterThan(String value) {
            addCriterion("clock_in_status_name >", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameGreaterThanOrEqualTo(String value) {
            addCriterion("clock_in_status_name >=", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameLessThan(String value) {
            addCriterion("clock_in_status_name <", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameLessThanOrEqualTo(String value) {
            addCriterion("clock_in_status_name <=", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameLike(String value) {
            addCriterion("clock_in_status_name like", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameNotLike(String value) {
            addCriterion("clock_in_status_name not like", value, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameIn(List<String> values) {
            addCriterion("clock_in_status_name in", values, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameNotIn(List<String> values) {
            addCriterion("clock_in_status_name not in", values, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameBetween(String value1, String value2) {
            addCriterion("clock_in_status_name between", value1, value2, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInStatusNameNotBetween(String value1, String value2) {
            addCriterion("clock_in_status_name not between", value1, value2, "clockInStatusName");
            return (Criteria) this;
        }

        public Criteria andClockInWayIsNull() {
            addCriterion("clock_in_way is null");
            return (Criteria) this;
        }

        public Criteria andClockInWayIsNotNull() {
            addCriterion("clock_in_way is not null");
            return (Criteria) this;
        }

        public Criteria andClockInWayEqualTo(Integer value) {
            addCriterion("clock_in_way =", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayNotEqualTo(Integer value) {
            addCriterion("clock_in_way <>", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayGreaterThan(Integer value) {
            addCriterion("clock_in_way >", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayGreaterThanOrEqualTo(Integer value) {
            addCriterion("clock_in_way >=", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayLessThan(Integer value) {
            addCriterion("clock_in_way <", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayLessThanOrEqualTo(Integer value) {
            addCriterion("clock_in_way <=", value, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayIn(List<Integer> values) {
            addCriterion("clock_in_way in", values, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayNotIn(List<Integer> values) {
            addCriterion("clock_in_way not in", values, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_way between", value1, value2, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayNotBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_way not between", value1, value2, "clockInWay");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameIsNull() {
            addCriterion("clock_in_way_name is null");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameIsNotNull() {
            addCriterion("clock_in_way_name is not null");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameEqualTo(String value) {
            addCriterion("clock_in_way_name =", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameNotEqualTo(String value) {
            addCriterion("clock_in_way_name <>", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameGreaterThan(String value) {
            addCriterion("clock_in_way_name >", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameGreaterThanOrEqualTo(String value) {
            addCriterion("clock_in_way_name >=", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameLessThan(String value) {
            addCriterion("clock_in_way_name <", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameLessThanOrEqualTo(String value) {
            addCriterion("clock_in_way_name <=", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameLike(String value) {
            addCriterion("clock_in_way_name like", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameNotLike(String value) {
            addCriterion("clock_in_way_name not like", value, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameIn(List<String> values) {
            addCriterion("clock_in_way_name in", values, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameNotIn(List<String> values) {
            addCriterion("clock_in_way_name not in", values, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameBetween(String value1, String value2) {
            addCriterion("clock_in_way_name between", value1, value2, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInWayNameNotBetween(String value1, String value2) {
            addCriterion("clock_in_way_name not between", value1, value2, "clockInWayName");
            return (Criteria) this;
        }

        public Criteria andClockInDateIsNull() {
            addCriterion("clock_in_date is null");
            return (Criteria) this;
        }

        public Criteria andClockInDateIsNotNull() {
            addCriterion("clock_in_date is not null");
            return (Criteria) this;
        }

        public Criteria andClockInDateEqualTo(String value) {
            addCriterion("clock_in_date =", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateNotEqualTo(String value) {
            addCriterion("clock_in_date <>", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateGreaterThan(String value) {
            addCriterion("clock_in_date >", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateGreaterThanOrEqualTo(String value) {
            addCriterion("clock_in_date >=", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateLessThan(String value) {
            addCriterion("clock_in_date <", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateLessThanOrEqualTo(String value) {
            addCriterion("clock_in_date <=", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateLike(String value) {
            addCriterion("clock_in_date like", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateNotLike(String value) {
            addCriterion("clock_in_date not like", value, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateIn(List<String> values) {
            addCriterion("clock_in_date in", values, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateNotIn(List<String> values) {
            addCriterion("clock_in_date not in", values, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateBetween(String value1, String value2) {
            addCriterion("clock_in_date between", value1, value2, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInDateNotBetween(String value1, String value2) {
            addCriterion("clock_in_date not between", value1, value2, "clockInDate");
            return (Criteria) this;
        }

        public Criteria andClockInTimeIsNull() {
            addCriterion("clock_in_time is null");
            return (Criteria) this;
        }

        public Criteria andClockInTimeIsNotNull() {
            addCriterion("clock_in_time is not null");
            return (Criteria) this;
        }

        public Criteria andClockInTimeEqualTo(Date value) {
            addCriterion("clock_in_time =", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeNotEqualTo(Date value) {
            addCriterion("clock_in_time <>", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeGreaterThan(Date value) {
            addCriterion("clock_in_time >", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("clock_in_time >=", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeLessThan(Date value) {
            addCriterion("clock_in_time <", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeLessThanOrEqualTo(Date value) {
            addCriterion("clock_in_time <=", value, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeIn(List<Date> values) {
            addCriterion("clock_in_time in", values, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeNotIn(List<Date> values) {
            addCriterion("clock_in_time not in", values, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeBetween(Date value1, Date value2) {
            addCriterion("clock_in_time between", value1, value2, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInTimeNotBetween(Date value1, Date value2) {
            addCriterion("clock_in_time not between", value1, value2, "clockInTime");
            return (Criteria) this;
        }

        public Criteria andClockInSourceIsNull() {
            addCriterion("clock_in_source is null");
            return (Criteria) this;
        }

        public Criteria andClockInSourceIsNotNull() {
            addCriterion("clock_in_source is not null");
            return (Criteria) this;
        }

        public Criteria andClockInSourceEqualTo(Long value) {
            addCriterion("clock_in_source =", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNotEqualTo(Long value) {
            addCriterion("clock_in_source <>", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceGreaterThan(Long value) {
            addCriterion("clock_in_source >", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceGreaterThanOrEqualTo(Long value) {
            addCriterion("clock_in_source >=", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceLessThan(Long value) {
            addCriterion("clock_in_source <", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceLessThanOrEqualTo(Long value) {
            addCriterion("clock_in_source <=", value, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceIn(List<Long> values) {
            addCriterion("clock_in_source in", values, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNotIn(List<Long> values) {
            addCriterion("clock_in_source not in", values, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceBetween(Long value1, Long value2) {
            addCriterion("clock_in_source between", value1, value2, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNotBetween(Long value1, Long value2) {
            addCriterion("clock_in_source not between", value1, value2, "clockInSource");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameIsNull() {
            addCriterion("clock_in_source_name is null");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameIsNotNull() {
            addCriterion("clock_in_source_name is not null");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameEqualTo(String value) {
            addCriterion("clock_in_source_name =", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameNotEqualTo(String value) {
            addCriterion("clock_in_source_name <>", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameGreaterThan(String value) {
            addCriterion("clock_in_source_name >", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameGreaterThanOrEqualTo(String value) {
            addCriterion("clock_in_source_name >=", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameLessThan(String value) {
            addCriterion("clock_in_source_name <", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameLessThanOrEqualTo(String value) {
            addCriterion("clock_in_source_name <=", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameLike(String value) {
            addCriterion("clock_in_source_name like", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameNotLike(String value) {
            addCriterion("clock_in_source_name not like", value, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameIn(List<String> values) {
            addCriterion("clock_in_source_name in", values, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameNotIn(List<String> values) {
            addCriterion("clock_in_source_name not in", values, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameBetween(String value1, String value2) {
            addCriterion("clock_in_source_name between", value1, value2, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInSourceNameNotBetween(String value1, String value2) {
            addCriterion("clock_in_source_name not between", value1, value2, "clockInSourceName");
            return (Criteria) this;
        }

        public Criteria andClockInWeekIsNull() {
            addCriterion("clock_in_week is null");
            return (Criteria) this;
        }

        public Criteria andClockInWeekIsNotNull() {
            addCriterion("clock_in_week is not null");
            return (Criteria) this;
        }

        public Criteria andClockInWeekEqualTo(Integer value) {
            addCriterion("clock_in_week =", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekNotEqualTo(Integer value) {
            addCriterion("clock_in_week <>", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekGreaterThan(Integer value) {
            addCriterion("clock_in_week >", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekGreaterThanOrEqualTo(Integer value) {
            addCriterion("clock_in_week >=", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekLessThan(Integer value) {
            addCriterion("clock_in_week <", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekLessThanOrEqualTo(Integer value) {
            addCriterion("clock_in_week <=", value, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekIn(List<Integer> values) {
            addCriterion("clock_in_week in", values, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekNotIn(List<Integer> values) {
            addCriterion("clock_in_week not in", values, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_week between", value1, value2, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andClockInWeekNotBetween(Integer value1, Integer value2) {
            addCriterion("clock_in_week not between", value1, value2, "clockInWeek");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesIsNull() {
            addCriterion("abnormal_minutes is null");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesIsNotNull() {
            addCriterion("abnormal_minutes is not null");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesEqualTo(Integer value) {
            addCriterion("abnormal_minutes =", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesNotEqualTo(Integer value) {
            addCriterion("abnormal_minutes <>", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesGreaterThan(Integer value) {
            addCriterion("abnormal_minutes >", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesGreaterThanOrEqualTo(Integer value) {
            addCriterion("abnormal_minutes >=", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesLessThan(Integer value) {
            addCriterion("abnormal_minutes <", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesLessThanOrEqualTo(Integer value) {
            addCriterion("abnormal_minutes <=", value, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesIn(List<Integer> values) {
            addCriterion("abnormal_minutes in", values, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesNotIn(List<Integer> values) {
            addCriterion("abnormal_minutes not in", values, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesBetween(Integer value1, Integer value2) {
            addCriterion("abnormal_minutes between", value1, value2, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andAbnormalMinutesNotBetween(Integer value1, Integer value2) {
            addCriterion("abnormal_minutes not between", value1, value2, "abnormalMinutes");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNull() {
            addCriterion("group_id is null");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNotNull() {
            addCriterion("group_id is not null");
            return (Criteria) this;
        }

        public Criteria andGroupIdEqualTo(Long value) {
            addCriterion("group_id =", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotEqualTo(Long value) {
            addCriterion("group_id <>", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThan(Long value) {
            addCriterion("group_id >", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThanOrEqualTo(Long value) {
            addCriterion("group_id >=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThan(Long value) {
            addCriterion("group_id <", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThanOrEqualTo(Long value) {
            addCriterion("group_id <=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdIn(List<Long> values) {
            addCriterion("group_id in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotIn(List<Long> values) {
            addCriterion("group_id not in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdBetween(Long value1, Long value2) {
            addCriterion("group_id between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotBetween(Long value1, Long value2) {
            addCriterion("group_id not between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupNameIsNull() {
            addCriterion("group_name is null");
            return (Criteria) this;
        }

        public Criteria andGroupNameIsNotNull() {
            addCriterion("group_name is not null");
            return (Criteria) this;
        }

        public Criteria andGroupNameEqualTo(String value) {
            addCriterion("group_name =", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameNotEqualTo(String value) {
            addCriterion("group_name <>", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameGreaterThan(String value) {
            addCriterion("group_name >", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameGreaterThanOrEqualTo(String value) {
            addCriterion("group_name >=", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameLessThan(String value) {
            addCriterion("group_name <", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameLessThanOrEqualTo(String value) {
            addCriterion("group_name <=", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameLike(String value) {
            addCriterion("group_name like", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameNotLike(String value) {
            addCriterion("group_name not like", value, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameIn(List<String> values) {
            addCriterion("group_name in", values, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameNotIn(List<String> values) {
            addCriterion("group_name not in", values, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameBetween(String value1, String value2) {
            addCriterion("group_name between", value1, value2, "groupName");
            return (Criteria) this;
        }

        public Criteria andGroupNameNotBetween(String value1, String value2) {
            addCriterion("group_name not between", value1, value2, "groupName");
            return (Criteria) this;
        }

        public Criteria andFieldWorkIsNull() {
            addCriterion("field_work is null");
            return (Criteria) this;
        }

        public Criteria andFieldWorkIsNotNull() {
            addCriterion("field_work is not null");
            return (Criteria) this;
        }

        public Criteria andFieldWorkEqualTo(Integer value) {
            addCriterion("field_work =", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkNotEqualTo(Integer value) {
            addCriterion("field_work <>", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkGreaterThan(Integer value) {
            addCriterion("field_work >", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkGreaterThanOrEqualTo(Integer value) {
            addCriterion("field_work >=", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkLessThan(Integer value) {
            addCriterion("field_work <", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkLessThanOrEqualTo(Integer value) {
            addCriterion("field_work <=", value, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkIn(List<Integer> values) {
            addCriterion("field_work in", values, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkNotIn(List<Integer> values) {
            addCriterion("field_work not in", values, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkBetween(Integer value1, Integer value2) {
            addCriterion("field_work between", value1, value2, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andFieldWorkNotBetween(Integer value1, Integer value2) {
            addCriterion("field_work not between", value1, value2, "fieldWork");
            return (Criteria) this;
        }

        public Criteria andCardSupplementIsNull() {
            addCriterion("card_supplement is null");
            return (Criteria) this;
        }

        public Criteria andCardSupplementIsNotNull() {
            addCriterion("card_supplement is not null");
            return (Criteria) this;
        }

        public Criteria andCardSupplementEqualTo(Integer value) {
            addCriterion("card_supplement =", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementNotEqualTo(Integer value) {
            addCriterion("card_supplement <>", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementGreaterThan(Integer value) {
            addCriterion("card_supplement >", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementGreaterThanOrEqualTo(Integer value) {
            addCriterion("card_supplement >=", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementLessThan(Integer value) {
            addCriterion("card_supplement <", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementLessThanOrEqualTo(Integer value) {
            addCriterion("card_supplement <=", value, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementIn(List<Integer> values) {
            addCriterion("card_supplement in", values, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementNotIn(List<Integer> values) {
            addCriterion("card_supplement not in", values, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementBetween(Integer value1, Integer value2) {
            addCriterion("card_supplement between", value1, value2, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardSupplementNotBetween(Integer value1, Integer value2) {
            addCriterion("card_supplement not between", value1, value2, "cardSupplement");
            return (Criteria) this;
        }

        public Criteria andCardShiftIsNull() {
            addCriterion("card_shift is null");
            return (Criteria) this;
        }

        public Criteria andCardShiftIsNotNull() {
            addCriterion("card_shift is not null");
            return (Criteria) this;
        }

        public Criteria andCardShiftEqualTo(Long value) {
            addCriterion("card_shift =", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftNotEqualTo(Long value) {
            addCriterion("card_shift <>", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftGreaterThan(Long value) {
            addCriterion("card_shift >", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftGreaterThanOrEqualTo(Long value) {
            addCriterion("card_shift >=", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftLessThan(Long value) {
            addCriterion("card_shift <", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftLessThanOrEqualTo(Long value) {
            addCriterion("card_shift <=", value, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftIn(List<Long> values) {
            addCriterion("card_shift in", values, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftNotIn(List<Long> values) {
            addCriterion("card_shift not in", values, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftBetween(Long value1, Long value2) {
            addCriterion("card_shift between", value1, value2, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftNotBetween(Long value1, Long value2) {
            addCriterion("card_shift not between", value1, value2, "cardShift");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameIsNull() {
            addCriterion("card_shift_name is null");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameIsNotNull() {
            addCriterion("card_shift_name is not null");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameEqualTo(String value) {
            addCriterion("card_shift_name =", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameNotEqualTo(String value) {
            addCriterion("card_shift_name <>", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameGreaterThan(String value) {
            addCriterion("card_shift_name >", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameGreaterThanOrEqualTo(String value) {
            addCriterion("card_shift_name >=", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameLessThan(String value) {
            addCriterion("card_shift_name <", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameLessThanOrEqualTo(String value) {
            addCriterion("card_shift_name <=", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameLike(String value) {
            addCriterion("card_shift_name like", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameNotLike(String value) {
            addCriterion("card_shift_name not like", value, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameIn(List<String> values) {
            addCriterion("card_shift_name in", values, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameNotIn(List<String> values) {
            addCriterion("card_shift_name not in", values, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameBetween(String value1, String value2) {
            addCriterion("card_shift_name between", value1, value2, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andCardShiftNameNotBetween(String value1, String value2) {
            addCriterion("card_shift_name not between", value1, value2, "cardShiftName");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeIsNull() {
            addCriterion("shift_work_time is null");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeIsNotNull() {
            addCriterion("shift_work_time is not null");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeEqualTo(String value) {
            addCriterion("shift_work_time =", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeNotEqualTo(String value) {
            addCriterion("shift_work_time <>", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeGreaterThan(String value) {
            addCriterion("shift_work_time >", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeGreaterThanOrEqualTo(String value) {
            addCriterion("shift_work_time >=", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeLessThan(String value) {
            addCriterion("shift_work_time <", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeLessThanOrEqualTo(String value) {
            addCriterion("shift_work_time <=", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeLike(String value) {
            addCriterion("shift_work_time like", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeNotLike(String value) {
            addCriterion("shift_work_time not like", value, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeIn(List<String> values) {
            addCriterion("shift_work_time in", values, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeNotIn(List<String> values) {
            addCriterion("shift_work_time not in", values, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeBetween(String value1, String value2) {
            addCriterion("shift_work_time between", value1, value2, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andShiftWorkTimeNotBetween(String value1, String value2) {
            addCriterion("shift_work_time not between", value1, value2, "shiftWorkTime");
            return (Criteria) this;
        }

        public Criteria andCardAddressIsNull() {
            addCriterion("card_address is null");
            return (Criteria) this;
        }

        public Criteria andCardAddressIsNotNull() {
            addCriterion("card_address is not null");
            return (Criteria) this;
        }

        public Criteria andCardAddressEqualTo(String value) {
            addCriterion("card_address =", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressNotEqualTo(String value) {
            addCriterion("card_address <>", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressGreaterThan(String value) {
            addCriterion("card_address >", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressGreaterThanOrEqualTo(String value) {
            addCriterion("card_address >=", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressLessThan(String value) {
            addCriterion("card_address <", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressLessThanOrEqualTo(String value) {
            addCriterion("card_address <=", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressLike(String value) {
            addCriterion("card_address like", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressNotLike(String value) {
            addCriterion("card_address not like", value, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressIn(List<String> values) {
            addCriterion("card_address in", values, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressNotIn(List<String> values) {
            addCriterion("card_address not in", values, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressBetween(String value1, String value2) {
            addCriterion("card_address between", value1, value2, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andCardAddressNotBetween(String value1, String value2) {
            addCriterion("card_address not between", value1, value2, "cardAddress");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andSupplementIsNull() {
            addCriterion("supplement is null");
            return (Criteria) this;
        }

        public Criteria andSupplementIsNotNull() {
            addCriterion("supplement is not null");
            return (Criteria) this;
        }

        public Criteria andSupplementEqualTo(Long value) {
            addCriterion("supplement =", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementNotEqualTo(Long value) {
            addCriterion("supplement <>", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementGreaterThan(Long value) {
            addCriterion("supplement >", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementGreaterThanOrEqualTo(Long value) {
            addCriterion("supplement >=", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementLessThan(Long value) {
            addCriterion("supplement <", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementLessThanOrEqualTo(Long value) {
            addCriterion("supplement <=", value, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementIn(List<Long> values) {
            addCriterion("supplement in", values, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementNotIn(List<Long> values) {
            addCriterion("supplement not in", values, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementBetween(Long value1, Long value2) {
            addCriterion("supplement between", value1, value2, "supplement");
            return (Criteria) this;
        }

        public Criteria andSupplementNotBetween(Long value1, Long value2) {
            addCriterion("supplement not between", value1, value2, "supplement");
            return (Criteria) this;
        }

        public Criteria andDisposeIsNull() {
            addCriterion("dispose is null");
            return (Criteria) this;
        }

        public Criteria andDisposeIsNotNull() {
            addCriterion("dispose is not null");
            return (Criteria) this;
        }

        public Criteria andDisposeEqualTo(Integer value) {
            addCriterion("dispose =", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeNotEqualTo(Integer value) {
            addCriterion("dispose <>", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeGreaterThan(Integer value) {
            addCriterion("dispose >", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeGreaterThanOrEqualTo(Integer value) {
            addCriterion("dispose >=", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeLessThan(Integer value) {
            addCriterion("dispose <", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeLessThanOrEqualTo(Integer value) {
            addCriterion("dispose <=", value, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeIn(List<Integer> values) {
            addCriterion("dispose in", values, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeNotIn(List<Integer> values) {
            addCriterion("dispose not in", values, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeBetween(Integer value1, Integer value2) {
            addCriterion("dispose between", value1, value2, "dispose");
            return (Criteria) this;
        }

        public Criteria andDisposeNotBetween(Integer value1, Integer value2) {
            addCriterion("dispose not between", value1, value2, "dispose");
            return (Criteria) this;
        }

        public Criteria andHandlerUserIsNull() {
            addCriterion("handler_user is null");
            return (Criteria) this;
        }

        public Criteria andHandlerUserIsNotNull() {
            addCriterion("handler_user is not null");
            return (Criteria) this;
        }

        public Criteria andHandlerUserEqualTo(Long value) {
            addCriterion("handler_user =", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserNotEqualTo(Long value) {
            addCriterion("handler_user <>", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserGreaterThan(Long value) {
            addCriterion("handler_user >", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserGreaterThanOrEqualTo(Long value) {
            addCriterion("handler_user >=", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserLessThan(Long value) {
            addCriterion("handler_user <", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserLessThanOrEqualTo(Long value) {
            addCriterion("handler_user <=", value, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserIn(List<Long> values) {
            addCriterion("handler_user in", values, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserNotIn(List<Long> values) {
            addCriterion("handler_user not in", values, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserBetween(Long value1, Long value2) {
            addCriterion("handler_user between", value1, value2, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andHandlerUserNotBetween(Long value1, Long value2) {
            addCriterion("handler_user not between", value1, value2, "handlerUser");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(Date value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(Date value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(Date value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(Date value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<Date> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<Date> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(Date value1, Date value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(Date value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(Date value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(Date value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(Date value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<Date> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<Date> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(Date value1, Date value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("modifier is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("modifier is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(String value) {
            addCriterion("modifier =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(String value) {
            addCriterion("modifier <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(String value) {
            addCriterion("modifier >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(String value) {
            addCriterion("modifier >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(String value) {
            addCriterion("modifier <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(String value) {
            addCriterion("modifier <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLike(String value) {
            addCriterion("modifier like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotLike(String value) {
            addCriterion("modifier not like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<String> values) {
            addCriterion("modifier in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<String> values) {
            addCriterion("modifier not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(String value1, String value2) {
            addCriterion("modifier between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(String value1, String value2) {
            addCriterion("modifier not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Integer value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Integer value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Integer value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Integer value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Integer> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Integer> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNull() {
            addCriterion("tenant_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNotNull() {
            addCriterion("tenant_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantIdEqualTo(String value) {
            addCriterion("tenant_id =", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotEqualTo(String value) {
            addCriterion("tenant_id <>", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThan(String value) {
            addCriterion("tenant_id >", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_id >=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThan(String value) {
            addCriterion("tenant_id <", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThanOrEqualTo(String value) {
            addCriterion("tenant_id <=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLike(String value) {
            addCriterion("tenant_id like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotLike(String value) {
            addCriterion("tenant_id not like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdIn(List<String> values) {
            addCriterion("tenant_id in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotIn(List<String> values) {
            addCriterion("tenant_id not in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdBetween(String value1, String value2) {
            addCriterion("tenant_id between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotBetween(String value1, String value2) {
            addCriterion("tenant_id not between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesIsNull() {
            addCriterion("work_overtime_minutes is null");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesIsNotNull() {
            addCriterion("work_overtime_minutes is not null");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesEqualTo(Integer value) {
            addCriterion("work_overtime_minutes =", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesNotEqualTo(Integer value) {
            addCriterion("work_overtime_minutes <>", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesGreaterThan(Integer value) {
            addCriterion("work_overtime_minutes >", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesGreaterThanOrEqualTo(Integer value) {
            addCriterion("work_overtime_minutes >=", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesLessThan(Integer value) {
            addCriterion("work_overtime_minutes <", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesLessThanOrEqualTo(Integer value) {
            addCriterion("work_overtime_minutes <=", value, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesIn(List<Integer> values) {
            addCriterion("work_overtime_minutes in", values, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesNotIn(List<Integer> values) {
            addCriterion("work_overtime_minutes not in", values, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesBetween(Integer value1, Integer value2) {
            addCriterion("work_overtime_minutes between", value1, value2, "workOvertimeMinutes");
            return (Criteria) this;
        }

        public Criteria andWorkOvertimeMinutesNotBetween(Integer value1, Integer value2) {
            addCriterion("work_overtime_minutes not between", value1, value2, "workOvertimeMinutes");
            return (Criteria) this;
        }
    }

    /**
     * smart_park_attendance_record_detail
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    /**
     * smart_park_attendance_record_detail 2021-09-27
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}